using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Xml.Linq;

namespace ns17
{
	internal class Class99 : Class97
	{
		[CompilerGenerated]
		private static Func<XNode, Interface10> func_0;

		private XContainer XContainer_0 => (XContainer)base.Object_0;

		public override IList<Interface10> Prop_0 => (from xnode_0 in XContainer_0.Nodes()
			select smethod_0(xnode_0)).ToList();

		public override Interface10 Interface10_0
		{
			get
			{
				if (XContainer_0.Parent == null)
				{
					return null;
				}
				return smethod_0(XContainer_0.Parent);
			}
		}

		public Class99(XContainer container)
			: base(container)
		{
		}

		internal static Interface10 smethod_0(XObject xobject_1)
		{
			if (xobject_1 is XDocument)
			{
				return new Class100((XDocument)xobject_1);
			}
			if (xobject_1 is XElement)
			{
				return new Class101((XElement)xobject_1);
			}
			if (xobject_1 is XContainer)
			{
				return new Class99((XContainer)xobject_1);
			}
			if (xobject_1 is XProcessingInstruction)
			{
				return new Class104((XProcessingInstruction)xobject_1);
			}
			if (xobject_1 is XText)
			{
				return new Class102((XText)xobject_1);
			}
			if (xobject_1 is XComment)
			{
				return new Class103((XComment)xobject_1);
			}
			if (xobject_1 is XAttribute)
			{
				return new Class105((XAttribute)xobject_1);
			}
			return new Class97(xobject_1);
		}

		public override Interface10 imethod_0(Interface10 interface10_0)
		{
			XContainer_0.Add(interface10_0.Object_0);
			return interface10_0;
		}

		[CompilerGenerated]
		private static Interface10 smethod_1(XNode xnode_0)
		{
			return smethod_0(xnode_0);
		}
	}
}
